package com.zxx.mvpPractice.model.net;

import com.zxx.mvpPractice.model.net.bean.RongTokenRes;
import com.zxx.mvpPractice.utils.SystemUtils;

import java.util.Map;

import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.HeaderMap;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import rx.Observable;

/**
 * Created by Administrator on 2017/1/4 0004.
 * 融云
 */

public interface RongyunApi {

    //
    public final static String BASE_URL = "http://api.cn.ronghub.com";
    public static final String App_Key = "pgyu6atqpgu4u";
    public static final String App_Secret = "EIvYYaY4a2sJpH";
    //随机数，无长度限制。
    public static String Nonce = SystemUtils.getRandom();
    //时间戳，从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的秒数。
    public static String Timestamp = SystemUtils.getTimes();
    //数据签名。
    //Signature (数据签名)计算方法：将系统分配的 App Secret、Nonce (随机数)、Timestamp (时间戳)三个字符串按先后顺序拼接成一个字符串并进行 SHA1 哈希计算
    public static String Signature = SystemUtils.sha1(App_Secret + Nonce + Timestamp);


    /**
     * 获取token
     * 关于 userId 的选取，您可以使用您系统的用户 Id，或者单独建立一套唯一 Id 体系给融云服务。格式不限，可以为数字、GUID、
     * 或者任意的字符串（中文除外），
     * 其他方法涉及用户 Id 处均符合此规则。
     * <p>
     * //     * @param userId
     * //     * @param name
     * //     * @param portraitUri
     *
     * @return
     */
    @FormUrlEncoded
    @POST("/user/getToken.json")
    Observable<RongTokenRes> getToken(@HeaderMap Map<String, String> headerMap, @FieldMap Map<String, String> fieldMap);
}
